package net.rvb1.gwt.grad.ui.client.cellview.cell;

import java.util.List;

import com.google.gwt.cell.client.Cell.Context;

/**
 * Provider utilisé par les cellules {@link SelectionCell} pour savoir quoi afficher à l'écran.
 * 
 * @param <T> Type de données affichée dans la {@link SelectionCell}.
 */
public interface SelectionCellProvider<T> {

  /**
   * Retourne le label à afficher dans la combo.
   * 
   * @param object Objet dont on veut le libellé
   */
  public String getLabel(T object);

  /**
   * Retourne la liste des options à afficher pour un contexte Cell.
   */
  public List<T> getOptions(Context context);
}
